package com.irdstudio.efp.riskm.service.dao;


import java.util.List;

import com.irdstudio.efp.riskm.service.domain.CaseDistrRatio;
import com.irdstudio.efp.riskm.service.vo.CaseDistrRatioVO;

import org.apache.ibatis.annotations.Param;

/**
 * <p>DAO interface:案件分配比例表				<p>
 * @author ligm
 * @date 2019-08-10
 */
public interface CaseDistrRatioDao {
	
	public int insertCaseDistrRatio(CaseDistrRatio caseDistrRatio);
	
	public int deleteByPk(CaseDistrRatio caseDistrRatio);
	
	public int updateByPk(CaseDistrRatio caseDistrRatio);
	
	public CaseDistrRatio queryByPk(CaseDistrRatio caseDistrRatio);
	
	public List<CaseDistrRatio> queryAllOwnerByPage(CaseDistrRatioVO caseDistrRatio);
	
	public List<CaseDistrRatio> queryAllCurrOrgByPage(CaseDistrRatioVO caseDistrRatio);
	
	public List<CaseDistrRatio> queryAllCurrDownOrgByPage(CaseDistrRatioVO caseDistrRatio);

	/**
	 * @param ctrLoanContVo
	 * @return
	 * @author liuty
	 * @date 2019年8月13日 上午9:05:48
	 * @version 0.1
	 */
	public List<CaseDistrRatioVO> queryAllCurrOwnerPrdByPage(CaseDistrRatioVO ctrLoanContVo);

	/**
	 * 通过委外机构编号集合，获取版本状态=“”“”“”“”““””“”"生效"，审批状态=”"通过"的案件分配占比
	 * @author qiuyf
	 * @return
	 * @date 2019/9/4 11:54
	 * @version 0.1
	 */
	public List<CaseDistrRatio> getCaseDistrRatios(@Param("cooprOrgNos") List<String> cooprOrgNos);
	
	public List<CaseDistrRatio> getOrgsCaseInfos(CaseDistrRatio caseDistrRatio);
	
	/**
	 * 根据案件分配比例版本号查询
	 * @param caseDistrRatio
	 * @return
	 * @author liuty
	 * @date 2019年9月19日 下午2:56:04
	 * @version 0.1
	 */
	public List<CaseDistrRatio> queryByVersionNoByPage(CaseDistrRatioVO caseDistrRatio);
	
	/**
	 * 根据案件分配比例版本号更新申请表
	 * @param caseDistrRatio
	 * @return
	 * @author liuty
	 * @date 2019年9月19日 下午3:08:27
	 * @version 0.1
	 */
	public int updateByVersionNo(CaseDistrRatio caseDistrRatio);

	/**
	 * 统计表满足条件的总数
	 * @param getCaseDistrRatio
	 * @return
	 * @author liuty
	 * @date 2019年9月26日 下午3:36:42
	 * @version 0.1
	 */
	public int getConditionSum(CaseDistrRatio inCaseDistrRatioVo);
	/**
	 * TODO: <br>
	 * 根据版本号批量修改版本状态
	 * 0.1:liuty:2019/10/14/0014 10:40: TODO: <br>
	 * @author liuty
	 * @param null
	 * @return
	 * @since 2019/10/14/0014 10:40
	 * @date 2019/10/14/0014 10:40
	 * @version 0.1
	 */
	public int updateApprvSts(CaseDistrRatio caseDistrRatio);

	public int batchDeleteByCooNo(@Param("cooprOrgNoList") List<String> cooprOrgNoList);

	public List<CaseDistrRatio> getOrgListByPage(CaseDistrRatioVO caseDistrRatioVo);

	public List<CaseDistrRatio> getOrgList(@Param("versionNo") String versionNo);

	public List<CaseDistrRatio> getUsefulOrgsCaseInfosByPage(CaseDistrRatioVO caseDistrRatioVO);

    public List<CaseDistrRatio> queryAllByCoop(@Param("cooprOrgNo")String cooprOrgNo);
}
